Magnet control system for battery powered living tissue stimulators

ABSTRACT

A programming system for controlling and/or altering an implantable device&#39;s operation using externally applied magnetic means, e.g., a permanent magnet or the like. Typically, such devices stimulate a neural pathway or muscle and/or block pain or muscle stimulation according to programmable settings, e.g., the amplitude, duration, frequency/repetition rates, etc., of stimulation pulses applied to the neural pathways/muscles. Preferably, once programmed from an external programmer, such implantable devices can operate “independently” using the externally provided programmed information. However, external programmers may be unavailable due to cost, size, or other constraints. Accordingly, embodiments of the present invention include a magnetic sensor, preferably a magnetoresistive, Hall effect, saturated core reactors, or the like, to sense an externally provided magnetic field. By externally applying magnetic fields in sequences of controlled polarities, durations, intensities, etc., and sensing these sequences and transitions, the operation of the implantable device may be altered, i.e., programmed.

FIELD OF THE INVENTION

The present invention is generally directed to implantable medicaldevices, e.g., battery-powered implantable medical devices, and inparticular to programming systems for such devices which use magnetmeans, e.g., a permanent magnet, to control/alter the operation of suchdevices.

BACKGROUND OF THE INVENTION

The present invention relates to devices and systems of such devices formonitoring and/or affecting parameters of a patient's body for thepurpose of medical diagnosis and/or treatment. More particularly,systems in accordance with the invention are characterized by aplurality of devices, preferably battery powered, configured forimplanting within a patient's body, each device being configured tosense a body parameter, e.g., temperature, O₂ content, physicalposition, electrical potential, etc., and/or to affect a parameter,e.g., via nerve and/or muscle stimulation.

Commonly owned U.S. Pat. Nos. 6,164,284, 6,208,894, and 6,315,721, eachentitled “System of Implantable Devices For Monitoring and/or AffectingBody Parameters” and U.S. Pat. No. 6,185,452 entitled “Battery PoweredPatient Implantable Device”, each incorporated herein by reference intheir entirety, describe devices configured for implantation within apatient's body, i.e., beneath a patient's skin, for performing variousfunctions including: (1) stimulation of body tissue and/or sensing ofbody parameters, and (2) communicating between implanted devices anddevices external to a patient's body. Such implantable devices arepreferably powered using rechargeable batteries and are programmed,e.g., via a programmer external to the patient's body. Once programmed,such devices are capable of operating “independently” according to theirprogrammed parameters. However, it is not always convenient to use anexternal programmer due to cost, size, or availability constraints.Accordingly, the present invention addresses this need by providing aprogramming system that can use a readily available, low cost, magneticmeans or variations thereof, to program such implantable devices.

SUMMARY OF THE INVENTION

The present invention is directed to a programming system forcontrolling and/or altering the operation of an implantable device usingmagnetic means, e.g., a permanent magnet or the like, that is appliedexternal to a patient's body. In an exemplary embodiment of the presentinvention, each implanted device is configured similarly to the devicesdescribed in the commonly owned U.S. Pat. No. 6,164,284 and typicallycomprises a sealed housing suitable for injection into the patient'sbody. Each housing preferably contains a power source having a capacityof at least 1 microwatt-hour and power consuming circuitry preferablyincluding a data signal transmitter and receiver and sensor/stimulatorcircuitry for driving an input/output transducer. Wireless communicationbetween a system control unit (SCU) and the other implanted devices canbe implemented in various ways, e.g., via a modulated sound signal, anAC magnetic field, an RF signal, a propagated electromagnetic wave, alight signal, or electrical conduction. In a typical application, suchdevices are used to stimulate a neural pathway or muscle and/or block aneural pathway to alleviate pain or block stimulation of a muscle. Theability of such stimulation devices to accomplish these tasks is subjectto various programmable settings, e.g., the amplitude, duration,frequency/repetition rates, etc., of stimulation pulses that are appliedto the neural pathways/muscles.

Preferably, once programmed from a device external to the patient'sbody, e.g., an external programmer, such implantable devices can operate“independently” using the externally provided programmed information andunder control of the device's internal electronics and power source.However, program changes may be desired and external programmers may beunavailable due to cost, size, or other constraints. Accordingly,embodiments of the present invention include a magnetic sensor,preferably a magnetoresistive sensor, Hall effect sensor, saturated corereactors, or the like, which can be used to sense application of anexternally provided magnetic field. By externally applying magneticfields in sequences of controlled polarities, durations, intensities,etc., and sensing these sequences and transitions using a sensor andcircuitry within the implantable device, the operation of theimplantable device may be altered, i.e., programmed.

A preferred system for programming one or more parameters in animplantable device, wherein said implantable device is configured formodifying and/or sensing a patient's body parameter, comprises: (1) asensor within said implantable device sensitive to the presence of anexternally applied magnetic field, (2) a controller within theimplantable device coupled to the sensor for monitoring the presence ofthe externally applied magnetic field and determining a timing sequencefor the application and removal of the externally provided magneticfield; and wherein the controller is configured to alter at least oneprogrammable parameter of the implantable device in response todetection of an identifiable timing sequence of the application andremoval of the externally provided magnetic field.

In a further aspect of a preferred embodiment of the present invention,the sensor is a magnetoresistive sensor that is capable of measuring theintensity of an applied magnetic field and this magnetic field intensitymay be used as an additional input to program the implantable device.

In a still further aspect of a preferred embodiment of the presentinvention, the magnetoresistive sensor is combined with a bias magnetthat permits the output of the magnetoresistive sensor to be analyzed todetermine the polarity of an externally applied magnetic field.Accordingly, the polarity of an externally applied magnetic field may beused as an additional input to program the implantable device.

The novel features of the invention are set forth with particularity inthe appended claims. The invention will be best understood from thefollowing description when read in conjunction with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified block diagram of an exemplary system suitable forpracticing the present invention, the system being comprised ofimplanted devices, e.g., microstimulators, microsensors andmicrotransponders, under control of an implanted system control unit(SCU).

FIG. 2 comprises a block diagram of the system of FIG. 1 showing thefunctional elements that form the system control unit and implantedmicrostimulators, microsensors and microtransponders.

FIG. 3A comprises a block diagram of an exemplary implantable device, asshown in U.S. Pat. No. 6,164,284, including a battery for powering thedevice for a period of time in excess of one hour in response to acommand from the system control unit.

FIG. 3B comprises a simplified block diagram of controller circuitrythat can be substituted for the controller circuitry of FIG. 3A, thuspermitting a single device to be configured as a system control unitand/or a microstimulator and/or a microsensor and/or a microtransponder.

FIG. 4 shows an exemplary flow chart of the use of the exemplary systemin an open loop mode for controlling/monitoring a plurality of implanteddevices, e.g., microstimulators, microsensors.

FIG. 5 shows a simplified flow chart of the use of closed loop controlof a microstimulator by altering commands from the system control unitin response to status data received from a microsensor.

FIG. 6 shows an exemplary injury, i.e., a damaged nerve, and theplacement of a plurality of implanted devices, i.e., microstimulators,microsensors and a microtransponder under control of the system controlunit for “replacing” the damaged nerve.

FIG. 7 shows a simplified flow chart of the control of the implanteddevices of FIG. 6 by the system control unit.

FIGS. 8A and 8B respectively show an exemplary patient having aplurality implanted devices within and the application of a magneticprogrammer proximate to one of the implanted devices to alter theprogramming of the proximate implanted device by sequential applicationsof magnetic fields having two or more of the following distinct magneticproperties: (1) intensity (including absence or presence), (2) duration,and (3) polarity.

FIG. 9 shows the structure of a conventional magnetoresistive sensor asa bridge circuit wherein such a structure is useful for the programmingoperation of the present invention when used in an implantable device.

FIG. 10 shows an exemplary response curve showing the differentialoutput voltage of the structure of FIG. 9 in response to the applicationof a magnetic field wherein the circuit of FIG. 9 may be used to sensethe intensity of an applied magnetic field.

FIG. 11 shows an exemplary structure of a magnetoresistive sensor thathas been modified by application of a bias magnet to enable said sensorto additionally detect the polarity of an applied magnetic field.

FIG. 12 shows an exemplary response curve showing the differentialoutput voltage of the structure of FIG. 11 in response to theapplication of a magnetic field wherein the zero point of its responsecurve has been shifted from that of FIG. 10 and, accordingly, the deviceof FIG. 11 may be used to sense the intensity and polarity of an appliedmagnetic field.

FIG. 13 shows the structure of an exemplary cylindrically shaped passivehand magnetic programmer.

FIG. 14 shows the structure of an exemplary square shaped passive handmagnetic programmer.

FIG. 15 shows a timing diagram of an exemplary programming sequenceusing a passive hand magnetic programmer.

FIGS. 16A and 16B respectively show automatic magnetic programmers thatmechanically (or electro-mechanically) or electrically provide asequence of magnetic fields that are identifiable to the magnetic sensorwithin the implantable device.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description is of the best mode presently contemplated forcarrying out the invention. This description is not to be taken in alimiting sense, but is made merely for the purpose of describing thegeneral principles of the invention. The scope of the invention shouldbe determined with reference to the claims.

The present invention is directed to a programming system forcontrolling and/or altering the operation of an implantable device usingmagnetic means, e.g., a permanent magnet or the like, that is appliedexternal to a patient's body. In an exemplary embodiment of the presentinvention, each implantable device is configured similarly to thedevices described in the commonly owned U.S. Pat. No. 6,164,284(hereinafter referred to as the '284 patent), and typically comprises asealed housing suitable for injection into the patient's body. Eachhousing preferably contains a power source having a capacity of at least1 microwatt-hour and power consuming circuitry preferably including adata signal transmitter and receiver and sensor/stimulator circuitry fordriving an input/output transducer. In a typical application, suchdevices are used to stimulate a neural pathway or muscle and/or block aneural pathway to alleviate pain or block stimulation of a muscle. Theability of such stimulation devices to accomplish these tasks is subjectto various programmable settings, e.g., the amplitude, duration,frequency/repetition rates, etc., of stimulation pulses that are appliedto the neural pathways/muscles. An exemplary system, suitable for usewith the present invention may comprise a system control unit (SCU) andone or more devices implanted in a patient's body, i.e., within theenvelope defined by the patient's skin. Each such implantable device isconfigured to be monitored and/or controlled by the SCU via a wirelesscommunication channel. Wireless communication between such implanteddevices can be implemented in various ways, e.g., via a modulated soundsignal, an AC magnetic field, an RF signal, a propagated electromagneticwave, a light signal, or electrical conduction.

In an exemplary system, the SCU comprises a programmable unit capable of(1) transmitting commands to at least some of a plurality of implantabledevices and (2) receiving data signals from at least some of thoseimplantable devices. In accordance with a preferred embodiment, thesystem operates, at least in part, in closed loop fashion whereby thecommands transmitted by the SCU are dependent, in part, on the contentof the data signals received by the SCU.

FIGS. 1 and 2 show an exemplary system 300 made of implanted devices100, preferably battery powered, under control of a system control unit(SCU) 302, preferably also implanted beneath a patient's skin 12. Asdescribed in the '284 patent, potential implanted devices 100(see alsothe block diagram shown in FIG. 3A) include stimulators, e.g., 100 a and100 b, sensors, e.g., 100 c, and transponders, e.g., 100 d. Thestimulators, e.g., 100 a, can be remotely programmed to output asequence of drive pulses to body tissue proximate to its implantedlocation via attached electrodes. The sensors, e.g., 100 c, can beremotely programmed to sense one or more physiological or biologicalparameters in the implanted environment of the device, e.g.,temperature, glucose level, O₂ content, nerve potential, musclepotential, etc. Transponders, e.g., 100 d, are devices which can be usedto extend the interbody communication range between stimulators andsensors and other devices, e.g., a clinician's programmer 172 and thepatient control unit 174. Preferably, these stimulators, sensors andtransponders are contained in sealed elongate housings having an axialdimension of less than 60 mm and a lateral dimension of less than 6 mm.Accordingly, such stimulators, sensors and transponders are respectivelyreferred to as microstimulators, microsensors, and microtransponders orreferred to in general as battery-powered, implantable stimulator/sensordevices. Such microstimulators and microsensors can thus be positionedbeneath the skin 12 within a patient's body using a hypodermic typeinsertion tool 176.

As described in the '284 patent, microstimulators and microsensors areremotely programmed and interrogated via a wireless communicationchannel, e.g., modulated AC magnetic, sound (i.e., ultrasonic), RF orelectric fields, typically originating from control devices external tothe patient's body, e.g., the clinician's programmer 172 or patientcontrol unit 174. Typically, the clinician's programmer 172 is used toprogram a single continuous or one time pulse sequence into eachmicrostimulator and/or measure a biological parameter from one or moremicrosensors. Similarly, the patient control unit 174 typicallycommunicates with the implanted devices 100, e.g., microsensors 100 c,to monitor biological parameters. In order to distinguish each implanteddevice over the communication channel, each implanted device ismanufactured with an address or identification code (ID) 303 specifiedin address storage circuitry 108 (see FIG. 3A) as described in the '284patent.

By using one or more such implantable devices in conjunction with theSCU 302 of the present invention, the capabilities of such implanteddevices can be further expanded. For example, in an open loop mode(described below in reference to FIG. 4), the SCU 302 can be programmedto periodically initiate tasks, e.g., perform real time tasking, such astransmitting commands to microstimulators according to a prescribedtreatment regimen or periodically monitor biological parameters todetermine a patient's status or the effectiveness of a treatmentregimen. Alternatively, in a closed loop mode (described below inreference to FIGS. 5-7), the SCU 302 periodically interrogates one ormore microsensors and accordingly adjusts the commands transmitted toone or more microstimulators.

FIG. 2 shows a system 300 comprised of (1) one or more implantabledevices 100operable to sense and/or stimulate a patient's body parameterin accordance with one or more controllable operating parameters and (2)the SCU 302. The SCU 302 is primarily comprised of (1) a housing 206,preferably sealed and configured for implantation beneath the skin ofthe patient's body as described in the '284 patent in reference to theimplanted devices 100, (2) a signal transmitter 304 in the housing 206for transmitting command signals, (3) a signal receiver 306 in thehousing 206 for receiving status signals, and (4) a programmablecontroller 308, e.g., a microcontroller or state machine, in the housing206 responsive to received status signals for producing command signalsfor transmission by the signal transmitter 304 to other implantabledevices 100. The sequence of operations of the programmable controller308 is determined by an instruction list, i.e., a program, stored inprogram storage 310, coupled to the programmable controller 308. Whilethe program storage 310 can be a nonvolatile memory device, e.g., ROM,manufactured with a program corresponding to a prescribed treatmentregimen, it is preferable that at least a portion of the program storage310 be an alterable form of memory, e.g., RAM, EEPROM, etc., whosecontents can be remotely altered as described further below. However, itis additionally preferable that a portion of the program storage 310 benonvolatile so that a default program is always present. The rate atwhich the program contained within the program storage 310 is executedis determined by clock/oscillator 312. Additionally, a real time clockoperating in response to clock/oscillator 312 preferably permits tasksto be scheduled at specified times of day.

The signal transmitter 304 and signal receiver 306 preferablycommunicate with implanted devices 100 using an RF signal, e.g., apropagated electromagnetic wave, modulated by a command data signal.Alternatively, an audio transducer may be used to generate mechanicalvibrations having a carrier frequency modulated by a command datasignal. In an exemplary embodiment, a carrier frequency of 100 kHz isused which corresponds to a frequency that freely passes through atypical body's fluids and tissues. However, such sound means thatoperate at any frequency, e.g., greater than 1 Hz, are also consideredto be within the scope of the present invention. Alternatively, thesignal transmitter 304 and signal receiver 306 can communicate usingmodulated AC, e.g., magnetic fields.

The clinician's programmer 172 and/or the patient control unit 174and/or other external control devices can also communicate with theimplanted devices 100, as described in the '284 patent, preferably usinga modulated RF or AC magnetic field. Alternatively, such externaldevices can communicate with the SCU 302 via a transceiver 314 coupledto the programmable controller 308. Since, the signal transmitter 304and signal receiver 306 may operate using a different communicationmeans, a separate transceiver 314 which operates using an alternativecommunication means may be used for communicating with external devices.However, a single transmitter 304/receiver 306 can be used in place oftransceiver 314 for communicating with the external devices andimplanted devices if a common communication means is used.

FIG. 3A comprises a block diagram of an exemplary implantable device 100operable under control of controller circuitry 106 and includes abattery 104, preferably rechargeable, for powering the device for aperiod of time in excess of one hour and responsive to command signalsfrom a remote device, e.g., the SCU 302. The controller circuitry 106 isprimarily comprised of a controller 130, configuration data storage 132for prescribing its operation, and address storage circuitry 108 forstoring the ID 303 of the device. As described in the '284 patent, theimplantable device 100 is preferably configurable to alternativelyoperate as a microstimulator and/or microsensor and/or microtransponderdue to the commonality of most of the circuitry contained within. Suchcircuitry may be further expanded to permit a common block of circuitryto also perform the functions required for the SCU 302. Accordingly,FIG. 3B shows an alternative implementation of the controller circuitry106 of FIG. 3A that is suitable for implementing a microstimulatorand/or a microsensor and/or a microtransponder and/or the SCU 302. Inthis implementation, the configuration data storage 132 can bealternatively used as the program storage 310 when the implantabledevice 100 is used as the SCU 302. In this implementation, XMTR 168corresponds to the signal transmitter 304 and the RCVR 114 b correspondsto the signal receiver 306 (preferably operable via electrodes 112 a and112 b operating as an RF antenna) and the RCVR 114 a and XMTR 146correspond to the transceiver 314 (preferably operable via coil 116 forAC magnetic modes of communication).

In a preferred embodiment, the contents of the program storage 310,i.e., the software that controls the operation of the programmablecontroller 308, can be remotely downloaded, e.g., from the clinician'sprogrammer 172 using data modulated onto an RF signal or an AC magneticfield. In this embodiment, it is preferable that the contents of theprogram storage 310 for each SCU 302 be protected from an inadvertentchange. Accordingly, the contents of the address storage circuitry 108,i.e., the ID 303, is preferably used as a security code to confirm thatthe new program storage contents are destined for the SCU 302 receivingthe data. This feature is significant if multiple patients could bephysically located, e.g., in adjoining beds, within the communicationrange of the clinician's programmer 172.

In a further aspect of the present invention, it is preferable that theSCU 302 be operable for an extended period of time, e.g., in excess ofone hour, from an internal power supply 316 (see FIG. 2). While aprimary battery, i.e., a nonrechargeable battery, is suitable for thisfunction, it is preferable that the power supply 316 include arechargeable battery, e.g., battery 104 as described in the '284 patent,that can be recharged via an AC magnetic field produced external to thepatient's body. Accordingly, power supply 102 of FIG. 3A is thepreferred power supply 316 for the SCU 302 as well.

The battery-powered devices 100 of the '284 patent are preferablyconfigurable to operate in a plurality of operational modes, e.g., via acommunicated command signal. In a first operational mode, device 100 isremotely configured to be a microstimulator, e.g., 100 a and 100 b. Inthis embodiment (see FIG. 3A), controller 130 commands stimulationcircuitry 110 to generate a sequence of drive pulses through electrodes112 to stimulate tissue, e.g., a nerve or muscle, proximate to theimplanted location of the microstimulator, e.g., 100 a or 100 b. Inoperation, a programmable pulse generator 178 and voltage multiplier 180are programmably configured with parameters (see exemplary Table I)corresponding to a desired pulse sequence and specifying how much tomultiply (or divide) the battery voltage (e.g., by summing chargedcapacitors or similarly charged battery portions) to generate a desiredcompliance voltage V_(c). A first FET 182 is periodically energized tostore charge into capacitor 183 (in a first direction at a low currentflow rate through the body tissue) and a second FET 184 is periodicallyenergized to discharge capacitor 183 in an opposing direction at ahigher current flow rate which stimulates a nearby muscle or nerve.Alternatively, electrodes can be selected that will form an equivalentcapacitor within the body tissue.

TABLE I Stimulation Parameters Current: continuous current charging ofstorage capacitor Charging currents: 1, 3, 10, 30, 100, 250, 500 μaCurrent Range: 0.8 to 40 ma in nominally 3.2% steps Compliance Voltage:selectable, 3-24 volts in 3 volt steps Pulse Frequency_(PPS): 1 to 5000PPS in nominally 30% steps Pulse Width: 5 to 2000 μs in nominally 10%steps Burst On Time (BON): 1 ms to 24 hours in nominally 20% steps BurstOff Time (BOF): 1 ms to 24 hours in nominally 20% steps Triggered Delayto BON: either selected BOF or pulse width Burst Repeat Interval: 1 msto 24 hours in nominally 20% steps Ramp On Time: 0.1 to 100 seconds (1,2, 5, 10 steps) Ramp Off Time: 0.1 to 100 seconds (1, 2, 5, 10 steps)

In a next operational mode, the battery-powered implantable device 100can be configured to operate as a microsensor, e.g., 100 c, that cansense one or more physiological or biological parameters in theimplanted environment of the device. In accordance with a preferred modeof operation, the system control unit 302 periodically requests thesensed data from each microsensor 100 c using its ID 303 stored in theaddress storage circuitry 108, and responsively sends command signals tomicrostimulators, e.g., 100 a and 100 b, adjusted accordingly to thesensed data. For example, sensor circuitry 188 can be coupled to theelectrodes 112 to sense or otherwise used to measure a biologicalparameter, e.g., temperature, glucose level, O₂ content, voltage,current, impedance, etc. and provide the sensed data to the controllercircuitry 106. Preferably, the sensor circuitry 188 includes aprogrammable bandpass filter and an analog to digital (A/D) converterthat can sense and accordingly convert the voltage levels across theelectrodes 112 into a digital quantity. Alternatively, the sensorcircuitry 188 can include one or more sense amplifiers to determine ifthe measured voltage exceeds a threshold voltage value or is within aspecified voltage range. Furthermore, the sensor circuitry 188 can beconfigurable to include integration circuitry to further process thesensed voltage. The operational mode of the voltage sensor circuitry 188is programmable, e.g., via the device's communication interface (seeexemplary Table II) or via the magnetic programmer means of the presentinvention.

TABLE II Sensing Parameters Input voltage range: 5 μv to 1 V Bandpassfilter rolloff: 24 dB Low frequency cutoff choices: 3, 10, 30, 100, 300,1000 Hz High frequency cutoff choices: 3, 10, 30, 100, 300, 1000 HzIntegrator frequency choices: 1 PPS to 100 PPS Amplitude threshold 4bits of resolution for detection choices:

Additionally, the sensing capabilities of a microsensor preferablyinclude the capability to monitor the battery status via path 124 fromthe charging circuit 122 and can additionally include using anultrasonic transducer (not shown) or the coil 116 to respectivelymeasure the ultrasonic, magnetic or propagated RF signal magnitudes (orcommunication time delays) of signals transmitted between a pair ofimplanted devices and thus determine the relative locations of thesedevices. This information can be used to determine the amount of bodymovement, e.g., the amount that an elbow or finger is bent, and thusform a portion of a closed loop motion control system.

In another operational mode, the battery-powered implantable device 100can be configured to operate as a microtransponder, e.g., 100 d. In thisoperational mode, the microtransponder receives (via the aforementionedRCVR 114 a using AC magnetic, sonic, RF, or electric communicationmodes) a first command signal from the SCU 302 and retransmits thissignal (preferably after reformatting) to other implanted devices (e.g.,microstimulators, microsensors, and/or microtransponders) using theaforementioned XMTR 168 using magnetic, sonic, RF or electriccommunication modes. While a microtransponder may receive one mode ofcommand signal, e.g., magnetic, it may retransmit the signal in anothermode, e.g., RF. For example, clinician's programmer 172 may emit amodulated magnetic signal using a magnetic emitter 190 (see FIG. 1) toprogram/command the implanted devices 100. However, the magnitude of theemitted signal may not be sufficient to be successfully received by allof the implanted devices 100. As such, a microtransponder 100 d mayreceive the modulated magnetic signal and retransmit it (preferablyafter reformatting) as a modulated ultrasonic or RF signal which canpass through the body with fewer restrictions. In another exemplary use,the patient control unit 174 may need to monitor a microsensor 100 c ina patient's foot. Despite the efficiency of ultrasonic, magnetic andpropagated RF communication in a patient's body, such a signal couldstill be insufficient to pass from a patient's foot to a patient's wrist(the typical location of the patient control unit 174). As such, amicrotransponder 100 d could be implanted (if needed) in the patient'storso to improve the communication link.

FIG. 4 shows a block diagram of an exemplary open loop control program,i.e., a task scheduler 320, for controlling/monitoring a bodyfunction/parameter. In this process, the programmable controller 308 isresponsive to the clock 312 (preferably a crystal controlled oscillatorto thus permit real time scheduling) in determining when to perform anyof a plurality of tasks. In this exemplary flow chart, the programmablecontroller 308 first determines in block 322 if it is now at a timedesignated as T_(EVENT1) (or at least within a sampling error of thattime), e.g., at 1:00 AM. If so, the programmable controller 308transmits a designated command to microstimulator A (ST_(A)) in block324. In this example, the control program continues where commands aresent to a plurality of stimulators and concludes in block 326 where adesignated command is sent to microstimulator X (ST_(X)). Such asubprocess, e.g., a subroutine, is typically used when multiple portionsof body tissue require stimulation, e.g., stimulating a plurality ofmuscle groups in a paralyzed limb to avoid atrophy. The task scheduler320 continues through multiple time event detection blocks until inblock 328 it determines whether the time T_(EVENTM) has arrived. If so,the process continues at block 330 where, in this case, a single commandis sent to microstimulator M (ST_(M)). Similarly, in block 332 the taskscheduler 320 determines when it is the scheduled time, i.e.,T_(EVENTO), to execute a status request from microsensor A (SE_(A)). Ifso, a subprocess, e.g., a subroutine, commences at block 334 where acommand is sent to microsensor A (SE_(A)) to request sensor data and/orspecify sensing criteria. Microsensor A (SE_(A)) does notinstantaneously respond. Accordingly, the programmable controller 308waits for a response in block 336. In block 338, the returned sensorstatus data from microsensor A (SE_(A)) is stored in a portion of thememory, e.g., a volatile portion of the program storage 310, of theprogrammable controller 308. The task scheduler 320 can be a programmedsequence, i.e., defined in software stored in the program storage 310,or, alternatively, a predefined function controlled by a table ofparameters similarly stored in the program storage 310. A similarprocess may be used where the SCU 302 periodically interrogates eachimplantable device 100 to determine its battery status.

FIG. 5 is an exemplary block diagram showing the use of the system ofthe present invention to perform closed loop control of a body function.In block 352, the SCU 302 requests status from microsensor A (SE_(A)).The SCU 302, in block 354, then determines whether the present commandgiven to a microstimulator is satisfactory and, if necessary, determinesa new command and transmits the new command to the microstimulator A(ST_(A)) in block 356. For example, if microsensor A (SE_(A)) is readinga voltage corresponding to the degree of contraction resulting fromstimulating a muscle, the SCU 302 could transmit a command tomicrostimulator A (ST_(A)) to adjust the sequence of drive pulses, e.g.,in magnitude, duty cycle, etc., and accordingly change the voltagesensed by microsensor A (SE_(A)). Accordingly, closed loop, i.e.,feedback, control is accomplished. The characteristics of the feedback(position, integral, derivative (PID)) control are preferably programcontrolled by the SCU 302 according to the control program contained inprogram storage 310.

FIG. 6 shows an exemplary injury treatable by embodiments of the presentexemplary system 300. In this exemplary injury, the neural pathway hasbeen damaged, e.g., severed, just above a patient's left elbow. The goalof this exemplary system is to bypass the damaged neural pathway topermit the patient to regain control of their left hand. An SCU 302 isimplanted within the patient's torso to control a plurality ofstimulators, ST₁-ST₅, implanted proximate to the muscles respectivelycontrolling the patient's thumb and fingers (shown in the patient's handfor simplicity). Additionally, microsensor 1 (SE₁) is implantedproximate to an undamaged nerve portion where it can sense a signalgenerated from the patient's brain when the patient wants hand closure.Optional microsensor 2 (SE₂) is implanted in a portion of the patient'shand where it can sense a signal corresponding to stimulation/motion ofthe patient's pinky finger and microsensor 3 (SE₃) is implanted andconfigured to measure a signal corresponding to grip pressure generatedwhen the fingers of the patient's hand are closed. Additionally, anoptional microtransponder (T₁) is shown which can be used to improve thecommunication between the SCU 302 and the implanted devices.

FIG. 7 shows an exemplary flow chart for the operation of the SCU 302 inassociation with the implanted devices in the exemplary system of FIG.6. In block 360, the SCU 302 interrogates microsensor 1 (SE₁) todetermine if the patient is requesting actuation of his fingers. If not,a command is transmitted in block 362 to all of the stimulators(ST₁-ST₅) to open the patient's hand, i.e., to de-energize the muscleswhich close the patient's fingers. If microsensor 1 (SE₁) senses asignal to actuate the patient's fingers, the SCU 302 determines in block364 whether the stimulators ST₁-ST₅ are currently energized, i.e.,generating a sequence of drive/stimulation pulses. If not, the SCU 302executes instructions to energize the stimulators. In a first optionalpath 366, each of the stimulators is simultaneously (subject toformatting and transmission delays) commanded to energize in block 366a. However, the command signal given to each one specifies a differentstart delay time. Accordingly, there is a stagger between theactuation/closing of each finger.

In a second optional path 368, the microstimulators are consecutivelyenergized by a delay Δ. Thus, microstimulator 1 (ST₁) is energized inblock 368 a, a delay is executed within the SCU 302 in block 368 b, andso on for all of the microstimulators. Accordingly, paths 366 and 368perform essentially the same function. However, in path 366, theinterdevice timing is performed by the clocks within each implanteddevice 100 while in path 368, the SCU 302 is responsible for providingthe interdevice timing.

In path 370, the SCU 302 actuates a first microstimulator (ST₁) in block370 a and waits in block 370 b for its corresponding muscle to beactuated, as determined by microsensor 2 (SE₂), before actuating theremaining stimulators (ST₂-ST₅) in block 370 c. This implementationcould provide more coordinated movement in some situations.

Once the stimulators have been energized, as determined in block 364,closed loop grip pressure control is performed in blocks 372 a and 372 bby periodically reading the status of microsensor 3 (SE₃) and adjustingthe commands given to the stimulators (ST₁-ST₅) accordingly.Consequently, this exemplary system has enabled the patient to regaincontrol of his hand including coordinated motion and grip pressurecontrol of the patient's fingers.

Referring again to FIG. 3A, a magnetic sensor 186 is shown. In the '284patent, it was shown that such a sensor 186 within each implanted device100 could be used to disable the operation of an implanted device 100,e.g., to stop or otherwise alter the operation of such devices in anemergency situation, in response to a DC magnetic field, preferably froman externally positioned magnet 187 (see the safety magnet of FIG. 1).Additionally, note FIG. 8A which shows an exemplary patient having aplurality of devices 100 implanted within and FIG. 8B which shows theapplication of an external magnet 187, i.e., a hand magnetic programmer,proximate to one of the implanted devices to alter the programming,e.g., stimulation pulse properties of the proximate implanted device 100or system programming, by sequential applications of a magnetic fieldhaving two or more of the following distinct magnetic properties: (1)intensity (including absence or presence), (2) duration, and (3)polarity. It is also noted that power to at least some portions of apreferred implantable device may be removed when a magnetic field issensed and thus the battery life of the overall device may be extended.The magnetic sensor 186 may be implemented using various types ofdevices. Exemplary of such devices are devices manufactured byNonvolatile Electronics, Inc. (e.g., their AA, AB, AC, AD, or AGseries), Hall effect sensors, magnetoresistive sensors, and subminiaturereed switches. Such miniature devices are configurable to be placedwithin the housing of the SCU 302 and implantable devices 100. Whileessentially passive magnetic sensors, e.g., reed switches, are possible,the remaining sensor devices may include active circuitry that consumespower during detection of the DC magnetic field. Accordingly, it ispreferred that controller circuitry 106 periodically, e.g., one to tentimes a second, provides power to the magnetic sensor 186 (see, forexample, transistor 990 in FIG. 9 which provides/removes the groundreference for the sensor 186 a) and then samples the magnetic sensor'soutput signal 374 (comprised, for example, of a differential outputsignal V_(B)-V_(A) in FIG. 9) during that sampling period. This powerswitching reduces the power consumption related to the sensor 186 whilestill providing a sufficient sample rate to measure the intensity andsense transitions of the magnetic field.

A magnetoresistive sensor is especially preferred due to its small sizethat enables its use within the preferred implantable device 100 whileconserving the available internal package volume. An exemplarymagnetoresistive sensor 186 a (see FIG. 9) is typically formed as abridge circuit from a plurality of magnetoresistive elements (e.g., R₂,R₃) that are formed in such a manner that the presence of a magneticfield causes their resistance to decrease. Typically, structure ispresent in such devices that concentrates the magnetic effects toelements R₂, R₃, while blocking or reducing magnetic effects to elementsR₁, R₃ (which otherwise are magnetoresistive elements and subject tosimilar effects). The net result is that the differential output voltage(V_(B)-V_(A)) increases in an essentially linear manner following theintensity of the applied magnetic field (see FIG. 10). In a conventionalmagnetoresistive device, the differential output voltage increasesdependent upon the applied magnetic field strength (i.e., dependent uponthe size of an external magnet and its distance from themagnetoresistive sensor) but independent of the applied polarity (N orS) of the external magnet. Thus, multiple threshold levels, e.g.,TH₁-TH₄, may be detected (e.g., by controller circuitry 106 or anintermediate analog voltage sensing circuit) as data values or todiscriminate the sensor's response to unwanted magnetic fields. Forexample, an output voltage below TH₁ would indicate that a magneticfield is not present, while an output voltage above TH₄ would indicatethat a magnetic field is greater than that used for programming, e.g.,from an MRI device or the like, and should, accordingly, be ignored.

Alternatively, a bias magnet 1000 may be placed proximate to amagnetoresistive sensor 1002 (also referred to as a GiantMagnetoResistive device or GMR) and thus form a magnetic sensor 186 b(see FIG. 11) that can additionally detect the polarity of an appliedmagnetic field. As seen in FIG. 12, the bias magnet 1000 has shifted thezero applied magnetic field point from 0to 0′ (see vertical dashed line1004) and the differential output voltage at this zero point is nolonger a low, e.g., zero, voltage. When a magnetic field is applied ofsufficient intensity (and of the correct opposing polarity) to match(and thus cancel) the applied field from the bias magnet 1000, thedifferential output voltage shifts downward and if the applied magneticfield overcomes the intensity of the bias magnet 1000, the differentialoutput voltage increases again (see dashed differential output voltagecurve portions 1006 a and 1006 b). By sensing this voltage transition,the controller circuitry 106 can detect the presence of an opposingpolarity magnetic field and its intensity according to its finaldifferential output value and its relationship to defined thresholdvalues, e.g., TH₁-TH₄. Conversely, if a non-opposing magnetic field isapplied, the differential output voltage will increase along the sameside of the curve (see dotted curve portion 1008).

When an external programmer is available, it typically provides fullaccess to all or most of the programmable features of such implantabledevices 100. However, external programmers may be unavailable at certaintimes or in certain environments due to cost, size, or otherconstraints. Accordingly, in embodiments of the present invention, anexternally provided magnetic field, e.g., from a permanent magnet suchas 187, is applied in sequences of controlled polarities, durations,intensities, etc. to provide programming information that may be sensedby the magnetic sensor 186 and used under control of controllercircuitry 106 to alter the programming of the implantable device 100.Typical of such programming, is the amplitude, duration, frequency, etc.of stimulation pulses generated by such devices.

In an exemplary embodiment, a magnet (used as a passive hand magneticprogrammer 187 ) is placed close enough to the magnetic sensor 186 indevice 100 to control (shut down) the device 100 as well as program itto change programmable parameters such as pulse frequency (rate), pulseamplitude, pulse width and other parameters. The number of parametersand increments are only limited to a reasonable amount of time and thetiming skill of the patient. The sensor 186 and its associatedcontroller circuitry 106 is programmed to recognize the presence of oneor more of the following magnetic properties: (1) the absence orpresence of a magnetic field, (2) the magnetic field's relativestrength, (3) the magnetic field's polarity, and/or (3) the length oftime the magnetic field is applied. A typical time increment is 2seconds and this is used in the following programming examples.

For use as an external passive magnetic programmer, the pole of a magnet1010 in the passive hand magnetic programmer 187 is of the same polarityas the bias magnet 1000 and positioned slightly further into a holder,(see, e.g., cylindrical tube 1012 in FIG. 13). The positioning of themagnet 1010 in the holder is based on several factors: (1) magnet sizeand type, especially its strength, (2) the type of field sensor used inthe implant, (3) the depth of the living tissue stimulator in the body,and (4) the distance of the magnet 1010 from the skin and, accordingly,the distance from the magnetic sensor 186 within the implantable device100. Preferably, the system uses the weakest suitable magnet. Anexemplary number of magnet field strengths, e.g., three (3), may beachieved using a biased magnetic sensor, e.g., 186 b, to sense magneticpolarity. These selections may be used in combination with an exemplarynumber of application times or programming sequences, e.g., three (3),to achieve nine (9) programmable parameters. The use of two magneticpoles doubles the number of codes that can be sensed to eighteen (18)(see Table A). If the poles are alternated in defined sequences, evenmore combinations may be used. This potential number of programmableparameters far exceeds the requirements for a simple “emergency” handcontroller and thus further facilitates the use of the present inventionas a programmer.

TABLE A Available Programming Codes Magnetic Field Strength -- A B CMagnet Polarity-N Application Timing ▾ A  1  2  3 B  4  5  6 C  7  8  9Magnet Polarity-S A 10 11 12 B 13 14 15 C 16 17 18

Magnets, e.g., comprised of Neodymium-Iron-Boron, NIB, Rare EarthSupermagnets, are easily made in any shape (square, sphere, round, etc.)and may be magnetized with just about any desired pole orientation andnumber of poles. Accordingly, two exemplary external passive magneticprogrammers are shown for a round magnetic programmer 187 a and a squaremagnetic programmer 187 b in FIGS. 13 and 14, respectively.

A. Round Magnetic Programmer 187 a (see FIG. 13)

A magnet 1010 is contained in a plastic cylindrical tube 1012 ofapproximately the same inside length and diameter as the magnet 1010that it holds. The inside dimension of the tube 1012 is configured forthe magnet 1010 to slide in with sufficient clearance to hold the magnetsecurely. Alternatively, an adhesive may be used. The tube wallthickness is configured to contain a thick course thread 1014 a thatmates with the inside thread 1014 b of an end cap 1020. The threads 1014a and 1014 b are preferably course enough to provide approximately onequarter inch per turn or approximately four turns per inch. The insidethread 1014 b of the end cap 1020 preferably contains a plurality ofball detents (spring and ball) 1022, typically three, that mate with aball plunger 1018 in the wall of tube 1012. Preferably, the end cap 1020can be easily turned and “snap” into place to fix the spacing of theoutside surface of the end cap 1020 with respect to the magnet 1010within the tube 1012 and has a wall thickness adequate to contain theball plunger 1018 to “lock” the cap 1020 in three distinct positions asdefined by the locations of the ball detents 1022. The exemplarycylindrical tube 1012 has a longitudinal line and “tic” markings foreach of the positions, 0, A, & B for each pole.

Each passive hand magnet programmer 187 is preferably “calibrated” tothe specific implant for its distance from the skin. This may done bygluing plastic calibration discs 1022 to the tube 1012 or the end cap1020 to set the magnet strength to match the implant requirements.Calibration discs 1022 are of a range of thickness to be added by theclinician when the implant is being initially fitted.

B. Square Magnetic Programmer 187 b (see FIG. 14)

The square magnetic programmer embodiment 187 b operates on essentiallythe same principle as the round magnetic programmer embodiment 187 a,the difference is primarily in the way the magnet 1010 is moved. Themagnet 1010 is held in a non-magnetic frame 1024 that slides inside itshousing 1026. A lever 1028 with detents 1030 moves the magnet 1010towards or away from the end caps 1032 and is held in place by a plunger1034. This design is preferred for use with a unipolar system or forpatients with limited grasp for turning the end caps of the cylindricaldesign.

In a first example which follows, a preferred embodiment of a magnetcontrol system is implemented in device 100 using one level of fieldstrength and independent of magnetic polarity. The action to shut downthe implant is the same, independent of polarity in systems that usemagnetic polarity to increase the number of programmed parameters. Anexemplary polarity and timing sequence is described below.

In this first example, implant control is done with hand magnetprogrammer 187 b using a first surface 1040 pressed to the skin and theslider 1028 set to position zero (see the exemplary timing diagram ofFIG. 15).

Step No. Action Response 1. Hand magnetic Implant is turned off and Shutdown programmer surface 1040 remains off as long as the is placed on theskin and magnet 1010 is held close to not removed for a time the skin.period in excess of the number of the programmable parameters (N) timesthe programming period, e.g., 2 seconds, that is for a time period >2*N.2. Remove the hand Implant 100 responds and Select magnetic programmerfor sets Pulse Rate mode. Mode a reset time period, e.g., 2 to 3seconds. Hand magnetic programmer surface 1040 is then replaced on theskin for 2 seconds and then removed for 2 to 3 seconds. 3. Followingstep 2, hand Implant 100 responds and Set magnetic programmer cyclesthrough pulse rates Parameter surface 1040 is placed on stepping fromone rate to the the skin and held as next as programmed for the required(e.g., for a stimulation and patient. The minimum of 3 seconds). magnet1010 is removed The length of time when the desired rate is requiredwill depend on reached. the number parameters and the method used tosense the desired parameter. 4. Following steps 2 and 3, Implant 100responds and Select hand magnetic sets Pulse Amplitude mode. Modeprogrammer surface 1040 is placed on the skin for 2 seconds and thenremoved for 2 to 3 seconds. 5. Following step 4, hand Implant 100responds and Set magnetic programmer cycles through pulse Parametersurface 1040 is placed on amplitudes stepping from one the skin and heldas amplitude to the next as required (e.g., for a appropriate for thestimulation minimum of 3 seconds. and patient. The magnet The length oftime 1010 is removed when the required will depend on desired amplitudeis reached. the number parameters and the method used to sense thedesired parameter. 6. Following steps 4 and 5, Implant 100 responds andSelect hand magnetic sets Pulse Width mode. Mode programmer surface 1040is placed on the skin for 2 seconds and then removed for 2 to 3 seconds.7. Following step 6, hand Implant 100 cycles through Set magneticprogrammer pulse widths stepping from Parameter surface 1040 is placedon one width to the next as the skin and held as appropriate for thestimulation required. The length of and patient. The magnet timerequired will depend 1010 is removed when the on the number desiredpulse width is parameters and the reached. method used to sense thedesired parameter.

If the magnet 1010 is removed for more than 3 seconds following steps 2,4, or 6, the implantable device 100 reverts to the initial state. If themagnet 1010 is removed for more than 3 seconds following steps 3, 5, or7, the implant accepts the new programming. This first example can beextended for sufficient steps to allow the implantable device 100 toenter into as many steps as there are programmable parameters and thus acomplete system can be formed using a single polarity magneticprogrammer 187 and sensor 186.

In a next example, implant control is done with hand magnetic programmer187 b using a second surface 1042 pressed to the skin and the slider1028 set to position zero. These programming modes rely on the abilityto distinguish magnetic polarities. Accordingly, a magnetic sensor usingthe embodiment (or equivalent) described in reference to 186 b is usedwithin the implantable device 100. This next example is a continuationof the first example that instead incorporates an opposite magneticpolarity as a programming parameter. Otherwise, this second example isessentially the same as the first example.

Step No. Action Response 1. Hand magnetic Implantable device 100 is Shutdown programmer surface turned off and remains off as 1042 is placed onthe long as the magnet 1010 is skin and not removed held close to theskin. for a time period in excess of the number of the programmableparameters (N) times the programming period, e.g., 2 seconds, that isfor a time period >2*N. 2. Remove the hand Implantable device 100 SelectMode magnetic programmer responds and sets the MRI for a reset timeperiod, mode to allow the patient to e.g., 2 to 3 seconds. spend time ina MRI machine. Hand magnetic programmer surface 1042 is then replaced onthe skin for 2 seconds and then removed for 2 to 3 seconds. 3. Followingstep 2, hand Implantable device 100 Set Parameter magnetic programmerresponds and cycles through surface 1042 is placed MRI schedulesstepping from on the skin and held one to the next as required for asrequired (e.g., for a the time exposed to the MRI. minimum of 3 Themagnet is removed when seconds). The length the desired schedule is oftime required will reached. depend on the number parameters and themethod used to sense the desired parameter. 4. Following steps 2 andImplantable device 100 Select Mode 3, hand magnetic responds and setsPulse programmer surface Burst mode. 1042 is placed on the skin for 2seconds and then removed for 2 to 3 seconds. 5. Following step 4, handImplantable device 100 Set Parameter magnetic programmer responds andcycles through surface 1042 is placed pulse burst sequences on the skinand held stepping from one to the next as required (e.g., for a asprogrammed for the minimum of 3 stimulation and patient. The seconds).The length magnet 1010 is removed of time required will when the desiredpulse burst depend on the number is reached. parameters and the methodused to sense the desired parameter. 6. Following steps 4 andImplantable device 100 Select Mode 5, hand magnetic responds and setsPulse programmer surface Ramp mode. 1042 is placed on the skin for 2seconds and then removed for 2 to 3 seconds. 7. Following step 6, handImplantable device 100 cycles Set Parameter magnetic programmer throughpulse ramps stepping surface 1042 is placed from one to the next as onthe skin and held appropriate for the stimulation as required. The andpatient. The magnet length of time required 1010 is removed when thewill depend on the desired pulse ramp is number parameters reached. andthe method used to sense the desired parameter.

If the magnet 1010 is removed for more than 3 seconds following steps 2,4, or 6, the implantable device 100 reverts to the initial state. If themagnet 1010 is removed for more than 3 seconds following steps 3, 5, or7, the implantable device 100 accepts the new programming.

The following example illustrates how the preferred embodiment of a handmagnet programmer/control system is implemented with an implantabledevice 100 using three levels of field strength and a single magneticpolarity. The timing sequence is described below. The exemplary handmagnet programmer 187 b has three positions (see FIG. 14).

Slider Step No. Position Action Response 1. ANY Surface of Implantabledevice 100 is turned Shut down hand magnetic off and remains off as longas the programmer magnet 1010 is held close to the skin. 187 is placedon skin and not removed for a time period in excess of the number of theprogrammable parameters (N) times the programming period, e.g., 2seconds, that is for a time period >2*N. 2. 0 Remove the Implantabledevice 100 responds Select hand magnetic and sets Pulse Rate mode. Modeprogrammer for a reset time period, e.g., 2 to 3 seconds. Surface ofhand magnetic programmer 187 is then replaced on skin for 2 seconds andremoved for 2 to 3 seconds. 3. 0 Following step Implantable device 100responds Set 2, the surface and cycles through pulse rates Parameter ofhand stepping from one rate to the magnetic next as appropriate for theneeded programmer stimulation for the patient. The 187 is placed magnet1010 is removed when on skin and the desired rate is reached. held asrequired (e.g., for a minimum of 3 seconds). The length of time requiredwill depend on the number parameters and the method used to sense thedesired parameter. 4. A Following steps Implantable device 100 respondsSelect 2 and 3, the and sets Pulse Amplitude mode. Mode surface of handmagnetic programmer 187 is placed on skin for 2 seconds and removed for2 to 3 seconds. 5. A Following step Implantable device 100 responds Set4, the surface and cycles through pulse Parameter of hand amplitudesstepping from one magnetic amplitude to the next as programmerappropriate for the needed 187 is placed stimulation of the patient. Theon skin and magnet 1010 is removed when held as the desired amplitude isreached. required (e.g., for a minimum of 3 seconds). The length of timerequired will depend on the number parameters and the method used tosense the desired parameter. 6. B Following steps Implantable device 100responds Select 4 and 5, the and sets Pulse Width mode. Mode surface ofhand magnetic programmer 187 is placed on skin for 2 seconds and removedfor 2 to 3 seconds. 7. B Following step Implantable device 100 cyclesSet 6, the surface through pulse widths stepping Parameter of hand fromone width to the next as magnetic appropriate for the stimulationprogrammer and patient. The magnet 1010 is 187 is placed removed whenthe desired pulse on skin and width is reached. held as required. Thelength of time required will depend on the number parameters and themethod used to sense the desired parameter.

If the magnet 1010 is removed for more than 3 seconds following steps 2,4, or 6, the implantable device 100 reverts to the initial state. If themagnet 1010 is removed for more than 3 seconds following steps 3, 5, or7, the implantable device 100 accepts the new programming.

Combinations of timing and slider positions may be used. Patients with apoor sense of timing, may use position combinations as well. Typicalexamples include: 0 followed by A, 0 followed by B, A followed by 0, Bfollowed 0, etc. In such programming combinations, the patient may needtwo hands; one to hold the magnet, the other to move the slider.

Changing the magnet spacing in the magnet holder requires that themagnet sensing circuit 186 be able to recognize various field strengths.In addition, the sensing circuit 186 must also recognize the sequence offield strength changes. As previously discussed, this is accomplished bysampling the field strength, e.g., about 10 times per second, anddetermining the value compared to previous values. This method issimilar to the concept of recognizing, e.g., debouncing, a key press ona keyboard. A key press is valid only if the key is closed in excess ofa specific amount of time. The magnetic field strength sensed by sensor186 must have a consecutive number of equal values (within a range) torecognize a given field strength. This is especially important toprevent slow changing transient fields from accidentally programming theimplantable device 100. The time sequence of the programming alsoreduces susceptibility to accidental programming.

Furthermore, while a purely passive hand programmer 187 is currentlypreferred, the present invention may also be embodied in a system whichis mechanically, e.g., spring driven, to alter the magnetic field inprogrammable or predefined patterns and thus signal the implantabledevice 100 which programmable parameter(s) are to be altered. Forexample, FIG. 16A shows an example of such an embodiment 187 c. A magnet1050 which is coupled to a mechanism 1052, e.g., spring driven, via ashaft 1054. A controller 1056 activates the mechanism 1052 when itreceives a command from an operator input 1058. In one variation,controller 1056 may be electrically driven and mechanism 1052 may beelectro-mechanical. In a next alternative embodiment 187 d shown in FIG.16B, a coil 1060 may be electrically energized by a driver 1062 undercontrol of a controller 1064 (powered by power source 1068) whenactivated by a patient input 1066, and thus program one or moreprogrammable parameters of the implantable device 100 automatically.

The use of a magnet is desirable for most applications because it ispassive and a magnet may usually be found wherever the patient travels.Magnetic polarity sensing may be used to facilitate programming ofmultiple parameters or multiple stimulators/sensors 100. Many patients,however, may not be able to use manual timing for programming and willrequire a more automatic system. In these applications, a light/IRsensor may be used. Such a hand control produces a flash of light thatis sensed and recognized by the implantable device 100. This type ofsystem uses batteries to power the active hand control system whichprovides control based on the number and timing of the flashes.

While the invention herein disclosed has been described by means ofspecific embodiments and applications thereof, numerous modificationsand variations could be made thereto by those skilled in the art withoutdeparting from the scope of the invention set forth in the claims. Forexample, the clinician's programmer 172 could be used to specify asingle adjustable parameter (or a limited set of adjustable parameters)and thus the magnetic programmer 187 could be limited to modifying thespecified parameter(s) and excluded from modifying the others. Also, theclinician's programmer 172, could be used to restrict the range ofadjustment to the one or more adjustable parameters. Alternatively, thepresence of the magnetic programmer 187 could be used to determinewhether the clinician's programmer 172 would be operative, i.e., itsability to alter the implantable device 100 could be interlocked torequire a sensed magnetic field before it would accept programming,thereby increasing the security against program alterations. Other suchpermutations and combinations thereof can likewise be accomplished withthe present invention. It is therefore to be understood that within thescope of the claims, the invention may be practiced otherwise than asspecifically described herein.

1. A system for programming one or more parameters in an implantabledevice, wherein said implantable device is configured for stimulatingtissue within a patient's body and said implantable device is containedwithin a sealed elongate housing having an axial dimension of less than60 mm and a lateral dimension of less than 6 mm, said system comprising:a sensor within said implantable device sensitive to the presence of anexternally applied magnetic field; a controller within said implantabledevice coupled to said sensor for monitoring the presence of saidexternally applied magnetic field and determining a timing sequence forthe application and removal of said externally provided magnetic field,wherein said controller is configured to alter at least one programmableparameter of said implantable device in response to detection of anidentifiable timing sequence of the application and removal of saidexternally provided magnetic field; a handheld programmer configured tobe located external to the patient's body and containing a permanentmagnet within, wherein the patient can apply and remove a magnetic fieldaccording to an identifiable timing sequence by bringing said handheldprogrammer in proximity and removing it from proximity of theimplantable device at one or more locations external to the patient'sbody; and wherein said handheld programmer additionally comprises aselector for altering the position of said permanent magnet within theprogrammer to thereby correspondingly alter the strength of saidexternally applied magnetic field to which the implantable device isexposed when the handheld programmer is positioned in proximity to theimplantable device.
 2. The system of claim 1 wherein said selector foraltering the position of said permanent magnet comprises: a firsthandheld programmer portion having a cylindrical shape, an outer thread,and containing said permanent magnet; and a second handheld programmerportion having an inner threaded cavity wherein said inner threadedcavity is formed to receive said outer thread of said first handheldprogrammer portion and whereby screwing said first handheld portion intosaid second handheld programmer portion alters the position of saidpermanent magnet relative to said second handheld programmer portion. 3.The system of claim 2 wherein said selector additionally comprises aball detent mechanism cooperatively positioned on said first and secondhandheld programmer portions to fixedly position said permanent magnetrelative to said second handheld programmer portion in one of aplurality of predefined positions.
 4. The system of claim 1 wherein saidselector for altering the position of said permanent magnet comprises: afirst handheld programmer portion having a square shape and containingsaid permanent magnet; a second handheld programmer portion having aninner cavity wherein said inner cavity is formed to receive said firsthandheld programmer portion; and a detent mechanism for altering theposition of said permanent magnet relative to said second handheldprogrammer portion in one of a plurality of predefined positions.
 5. Asystem for programming one or more parameters in an implantable device,wherein said implantable device is configured for stimulating tissuewithin a patient's body and said implantable device is contained withina sealed elongate housing having an axial dimension of less than 60 mmand a lateral dimension of less than 6 mm, said system comprising: asensor within said implantable device sensitive to the presence of anexternally applied magnetic field; a controller within said implantabledevice coupled to said sensor for monitoring the presence of saidexternally applied magnetic field and determining a timing sequence forthe application and removal of said externally provided magnetic field,wherein said controller is configured to alter at least one programmableparameter of said implantable device in response to detection of anidentifiable timing sequence of the application and removal of saidexternally provided magnetic field; a handheld programmer configured tobe located external to the patient's body and containing a permanentmagnet within, wherein the patient can apply and remove a magnetic fieldaccording to an identifiable timing sequence by bringing said handheldprogrammer in proximity and removing it from proximity of theimplantable device at one or more locations external to the patient'sbody; and wherein said handheld programmer has a first surface forpresenting a magnetic field of a first polarity and a second surface forpresenting a magnetic field of a second polarity, opposite of said firstpolarity.
 6. A system for programming one or more parameters in animplantable device, wherein said implantable device is configured forstimulating tissue within a patient's body and said implantable deviceis contained within a sealed elongate housing having an axial dimensionof less than 60 mm and a lateral dimension of less than 6 mm, saidsystem comprising: a sensor within said implantable device sensitive tothe presence of an externally applied magnetic field; a controllerwithin said implantable device coupled to said sensor for monitoring thepresence of said externally applied magnetic field and determining atiming sequence for the application and removal of said externallyprovided magnetic field, wherein said controller is configured to alterat least one programmable parameter of said implantable device inresponse to detection of an identifiable timing sequence of theapplication and removal of said externally provided magnetic field; ahandheld programmer configured to be located external to the patient'sbody and containing a permanent magnet within; and a mechanism,configured for activation by the patient, within said handheldprogrammer configured to provide an identifiable timing sequence of theapplication and removal of a magnetic field.
 7. The system of claim 6wherein said mechanism is spring powered.
 8. The system of claim 6wherein said mechanism is electro-mechanically powered.
 9. A system forprogramming one or more parameters in an implantable device, whereinsaid implantable device is configured for stimulating tissue within apatient's body and said implantable device is contained within a sealedelongate housing having an axial dimension of less than 60 mm and alateral dimension of less than 6 mm, said system comprising: a sensorwithin said implantable device sensitive to the presence of anexternally applied magnetic field; a controller within said implantabledevice coupled to said sensor for monitoring the presence of saidexternally applied magnetic field and determining a timing sequence forthe application and removal of said externally provided magnetic field,wherein said controller is configured to alter at least one programmableparameter of said implantable device in response to detection of anidentifiable timing sequence of the application and removal of saidexternally provided magnetic field; a handheld programmer configured tobe located external to the patient's body; a coil within said handheldprogrammer suitable for generating a magnetic field when energized;driver circuitry within said handheld programmer for energizing saidcoil; a handheld programmer controller within said handheld programmerfor generating a sequence of magnetic fields; and a power source forpowering said handheld programmer.
 10. A system for programming one ormore parameters in an implantable device, wherein said implantabledevice is configured for stimulating tissue within a patient's body andsaid implantable device is contained within a sealed elongate housinghaving an axial dimension of less than 60 mm and a lateral dimension ofless than 6 mm, said system comprising: a sensor within said implantabledevice sensitive to the presence of an externally applied magneticfield; a controller within said implantable device coupled to saidsensor for monitoring the presence of said externally applied magneticfield and determining a timing sequence for the application and removalof said externally provided magnetic field, wherein said controller isconfigured to alter at least one programmable parameter of saidimplantable device in response to detection of an identifiable timingsequence of the application and removal of said externally providedmagnetic field; and wherein said sensor dissipates power when sensing amagnetic field and said implantable device additionally comprisescircuitry for periodically applying and removing power from said sensorand sampling said sensor during time periods corresponding to when saidpower is applied.
 11. A system for programming one or more parameters inan implantable device, wherein said implantable device is configured formodifying and/or sensing a patient's body parameter, said systemcomprising: a sensor within said implantable device sensitive to thepresence of an externally applied magnetic field; a controller withinsaid implantable device coupled to said sensor for monitoring thepresence of said externally applied magnetic field and determining atiming sequence for the application and removal of said externallyprovided magnetic field, wherein said controller is configured to alterat least one programmable parameter of said implantable device inresponse to detection of an identifiable timing sequence of theapplication and removal of said externally provided magnetic field; ahandheld programmer configured to be located external to the patient'sbody and containing a permanent magnet within, wherein the patient canapply and remove a magnetic field according to an identifiable timingsequence by bringing said handheld programmer in proximity and removingit from proximity of the implantable device at one or more locationsexternal to the patient's body; and wherein said handheld programmeradditionally comprises a selector for altering the position of saidpermanent magnet within the programmer to thereby correspondingly alterthe strength of said externally applied magnetic field to which theimplantable device is exposed when the handheld programmer is positionin proximity to the implantable device.
 12. The system of claim 11wherein said selector for altering the position of said permanent magnetcomprises: a first handheld programmer portion having a cylindricalshape, an outer thread, and containing said permanent magnet; and asecond handheld programmer portion having an inner threaded cavitywherein said inner threaded cavity is formed to receive said outerthread of said first handheld programmer portion and whereby screwingsaid first handheld portion into said second handheld programmer portionalters the position of said permanent magnet relative to said secondhandheld programmer portion.
 13. The system of claim 12 wherein saidselector additionally comprises a ball detent mechanism cooperativelypositioned on said first and second handheld programmer portions tofixedly position said permanent magnet relative to said second handheldprogrammer portion in one of a plurality of predefined positions. 14.The system of claim 11 wherein said selector for altering the positionof said permanent magnet comprises: a first handheld programmer portionhaving a square shape and containing said permanent magnet; a secondhandheld programmer portion having an inner cavity wherein said innercavity is formed to receive said first handheld programmer portion; anda detent mechanism for altering the position of said permanent magnetrelative to said second handheld programmer portion in one of aplurality of predefined positions.
 15. A system for programming one ormore parameters in an implantable device, wherein said implantabledevice is configured for modifying and/or sensing a patient's bodyparameter, said system comprising: a sensor within said implantabledevice sensitive to the presence of an externally applied magneticfield; a controller within said implantable device coupled to saidsensor for monitoring the presence of said externally applied magneticfield and determining a timing sequence for the application and removalof said externally provided magnetic field, wherein said controller isconfigured to alter at least one programmable parameter of saidimplantable device in response to detection of an identifiable timingsequence of the application and removal of said externally providedmagnetic field; a handheld programmer configured to be located externalto the patient's body and containing a permanent magnet within, whereinthe patient can apply and remove a magnetic field according to anidentifiable timing sequence by bringing said handheld programmer inproximity and removing it from proximity of the implantable device atone or more locations external to the patient's body; and wherein saidhandheld programmer has a first surface for presenting a magnetic fieldof a first polarity and a second surface for presenting a magnetic fieldof a second polarity, opposite of said first polarity.
 16. A system forprogramming one or more parameters in an implantable device, whereinsaid implantable device is configured for modifying and/or sensing aPatient's body parameter, said system comprising: a sensor within saidimplantable device sensitive to the presence of an externally appliedmagnetic field; a controller within said implantable device coupled tosaid sensor for monitoring the presence of said externally appliedmagnetic field and determining a timing sequence for the application andremoval of said externally provided magnetic field, wherein saidcontroller is configured to alter at least one programmable parameter ofsaid implantable device in response to detection of an identifiabletiming sequence of the application and removal of said externallyprovided magnetic field; a handheld programmer configured to be locatedexternal to the patient's body and containing a permanent magnet within;and a mechanism, configured for activation by the patient, within saidhandheld programmer configured to provide an identifiable timingsequence of the application and removal of a magnetic field.
 17. Thesystem of claim 16 wherein said mechanism is spring powered.
 18. Thesystem of claim 16 wherein said mechanism is electro-mechanicallypowered.
 19. A system for programming one or more parameters in animplantable device, wherein said implantable device is configured formodifying and/or sensing a patient's body parameter, said systemcomprising: a sensor within said implantable device sensitive to thepresence of an externally applied magnetic field; a controller withinsaid implantable device coupled to said sensor for monitoring thepresence of said externally applied magnetic field and determining atiming sequence for the application and removal of said externallyprovided magnetic field, wherein said controller is configured to alterat least one programmable parameter of said implantable device inresponse to detection of an identifiable timing sequence of theapplication and removal of said externally provided magnetic field; ahandheld programmer configured to be located external to the patient'sbody; a coil within said handheld programmer suitable for generating amagnetic field when energized; driver circuitry within said handheldprogrammer for energizing said coil; a handheld programmer controllerwithin said handheld programmer for generating a sequence of magneticfields; and a power source for powering said handheld programmer.
 20. Asystem for programming one or more parameters in an implantable device,wherein said implantable device is configured for modifying and/orsensing a patient's body parameter. said system comprising: a sensorwithin said implantable device sensitive to the presence of anexternally applied magnetic field; a controller within said implantabledevice coupled to said sensor for monitoring the presence of saidexternally applied magnetic field and determining a timing sequence forthe application and removal of said externally provided magnetic field,wherein said controller is configured to alter at least one programmableparameter of said implantable device in response to detection of anidentifiable timing sequence of the application and removal of saidexternally provided magnetic field; and wherein said sensor dissipatespower when sensing a magnetic field and said implantable deviceadditionally comprises circuitry for periodically applying and removingpower from said sensor and sampling said sensor during time periodscorresponding to when said power is applied.
 21. A system forprogramming one or more parameters in an implantable device, whereinsaid implantable device is configured for modifying and/or sensing apatient's body parameter, said system comprising: a sensor within saidimplantable device sensitive to the presence of an externally appliedmagnetic field; a controller within said implantable device coupled tosaid sensor for monitoring the presence of said externally appliedmagnetic field and determining a timing sequence for the application andremoval of said externally provided magnetic field, wherein saidcontroller is configured to alter at least one programmable parameter ofsaid implantable device in response to detection of an identifiabletiming sequence of the application and removal of said externallyprovided magnetic field; and wherein said implantable device has atleast one programmable parameter having an adjustment range prescribedaccording to settings provided from an external programmer and whereinsaid controller's ability to alter said at least one programmableparameter is restricted to said prescribed adjustment range.
 22. Asystem for programming one or more parameters in an implantable device,wherein said implantable device is configured for modifying and/orsensing a patient's body parameter, said system comprising: a sensorwithin said implantable device sensitive to the presence of anexternally applied magnetic field; a controller within said implantabledevice coupled to said sensor for monitoring the presence of saidexternally applied magnetic field and determining a timing sequence forthe application and removal of said externally provided magnetic field,wherein said controller is configured to alter at least one programmableparameter of said implantable device in response to detection of anidentifiable timing sequence of the application and removal of saidexternally provided magnetic field; and wherein said implantable devicehas a plurality of programmable parameters and wherein a set of saidprogrammable parameters are selected according to settings provided froman external programmer and wherein said controller's ability to altersaid programmable parameters is restricted according to said selectedset of programmable parameters.
 23. A handheld programmer forprogramming one or more parameters in an implantable device, wherein theimplantable device is configured for modifying and/or sensing a bodyparameter of a patient, said handheld programmer comprising: a magneticfield source, wherein said magnetic field source is a permanent magnet;a housing for holding said magnetic field source; wherein said housingis configured for application to and removal from a portion of thepatient's body and to enabling presenting and removing a magnetic fieldfrom said magnetic field source to the implantable device and therebyalter at least one programmable parameter of the implantable device; andat least one mechanism for altering the position of said permanentmagnet relative to the patient's body and thereby present alteredintensities of the corresponding magnetic field to the implantabledevice and thus alter at least one programmable parameter of theimplantable device accordingly.
 24. The handheld programmer of claim 23wherein said at least one mechanism for altering the position of saidpermanent magnet comprises: a first handheld programmer portion having acylindrical shape, an outer thread, and containing said permanentmagnet; and a second handheld programmer portion having an innerthreaded cavity wherein said inner thread cavity is formed to receivesaid outer thread of said first handheld programmer portion and wherebyscrewing said first handheld portion into said second handheldprogrammer portion alters the position of said permanent magnet relativeto said second handheld programmer portion.
 25. The handheld programmerof claim 24 wherein said selector additionally comprises a ball detentmechanism cooperatively positioned on said first and second handheldprogrammer portions to fixedly position said permanent magnet relativeto said second handheld programmer portion in one of a plurality ofpredefined positions.
 26. The handheld programmer of claim 23 whereinsaid selector for altering the position of said permanent magnetcomprises: a first handheld programmer portion having a square shape andcontaining said permanent magnet; a second handheld programmer portionhaving an inner cavity wherein said inner thread cavity is formed toreceive said first handheld programmer portion; and a detent mechanismfor altering the position of said permanent magnet relative to saidsecond handheld programmer portion in one of a plurality of predefinedpositions.